package com.sl.design_pattern.simple_factory;
/**
 * 工厂类用于创建Api对象
 * @author lisulong on 2019/11/21.
 */
public class SimpleFactory {
    /**
     * 不想让工厂被实例化
     */
    private SimpleFactory(){}

    //具体创建Api对象的方法，int condition示意，从外部传入的选择条件
    public static Api createApi(int condition){
        /**
         * 应该根据某些条件去选择究竟创建哪一个具体的实现对象
         * 这些条件可以从外部传入，也可以从其他途径获取
         * 如果只有一个实现，可以省略条件，因为没有选择的必要
         */
        Api api = null;
        if(condition == 1){
            api = new ImplA();
        }else if(condition == 2){
            api = new ImplB();
        }
        return api;
    }
}
